//package com.gitlab.lucky.common.security.rest;
//
//import com.alibaba.fastjson.JSONObject;
//import com.gitlab.lucky.common.enums.CodeEnum;
//import com.gitlab.lucky.common.result.R;
//import com.gitlab.lucky.common.security.config.JwtUser;
//import com.gitlab.lucky.common.security.security.AuthenticationInfo;
//import com.gitlab.lucky.common.security.security.AuthorizationUser;
//import com.gitlab.lucky.common.security.service.JwtUserDetailsService;
//import com.gitlab.lucky.common.security.utils.JwtTokenUtil;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.security.core.context.SecurityContextHolder;
//import org.springframework.security.core.userdetails.UserDetails;
//import org.springframework.web.bind.annotation.*;
//
///**
// * @author jie
// * @date 2018-11-23
// * 授权、根据token获取用户详细信息
// */
//@RestController
//@RequestMapping("/api/admin")
//public class AuthenticationController {
//
//    @Value("${jwt.header}")
//    private String tokenHeader;
//
//    @Autowired
//    private JwtTokenUtil jwtTokenUtil;
//
//    @Autowired
//    private JwtUserDetailsService jwtUserDetailsService;
//    /**
//     * 登录授权
//     * @param authorizationUser
//     * @return
//     */
//    @PostMapping("/login")
//    public R login(AuthorizationUser authorizationUser){
//        JwtUser jwtUser = (JwtUser)jwtUserDetailsService.loadUserByUsername(authorizationUser.getUsername());
//        if(jwtUser==null){
//            return R.error(CodeEnum.LOGIN_FAIL);
//        }
//        if(!jwtUser.getPassword().equals(authorizationUser.getPassword())){
//            return R.error(CodeEnum.LOGIN_FAIL);
//        }
//        // 生成令牌
//        final String token = jwtTokenUtil.generateToken(jwtUser);
//        // 返回 token
//        return R.ok().data(new AuthenticationInfo(token,jwtUser));
//    }
//
//    /**
//     * 获取用户信息
//     * @return
//     */
//    @GetMapping("/getInfo")
//    public R getUserInfo(){
//        JwtUser jwtUser = (JwtUser)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
//        return R.ok().data(jwtUser);
//    }
//}
